home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / Borland Visual dBASE Professiona v7.0 / DATA1.CAB / Sample_dBASE / Sample Guide.wfm < prev    next >
Text File  |  1997-11-20  |  9KB  |  330 lines

  1. //--------------------------------------------------------------
  2. //
  3. //  Sample Guide.wfm 
  4. //
  5. //  Run this form to learn about the sample projects 
  6. //  that come with Visual dBASE
  7. //
  8. //  Dependencies: SAMPLES.DBF 
  9. //                SAMPLE.JPG
  10. //                RESOURCE.DLL
  11. //
  12. //  BDE Alias:    VDBSAMPLES
  13. //
  14. //  Visual dBASE Samples Group
  15. //
  16. //  $Revision:   1.20  $
  17. //
  18. //  Copyright (c) 1997, Borland International, Inc. 
  19. //  All rights reserved.
  20. //
  21. //---------------------------------------------------------------
  22. #define ALLTRIM(x) LTRIM(RTRIM(x))
  23. SET TALK OFF
  24. ** END HEADER -- do not remove this line
  25. //
  26. // Generated on 10/24/97
  27. //
  28. parameter bModal
  29. local f
  30. f = new SampleGuideForm()
  31. if (bModal)
  32.    f.mdi = false // ensure not MDI
  33.    f.readModal()
  34. else
  35.    f.open()
  36. endif
  37.  
  38. class SampleGuideForm of FORM
  39.    with (this)
  40.       onOpen = {|| this.showFormatBar(false)}
  41.       open = class::FORM_OPEN
  42.       scaleFontSize = 8
  43.       scaleFontBold = false
  44.       height = 14.5909
  45.       left = 25.7143
  46.       top = 2.3636
  47.       width = 56.1429
  48.       text = "Sample Guide"
  49.       background = "filename sample.jpg"
  50.       icon = "resource #89"
  51.    endwith
  52.  
  53.  
  54.    this.SESSION1 = new SESSION()
  55.    this.SESSION1.parent = this
  56.    with (this.SESSION1)
  57.       left = 0
  58.       top = 0
  59.       lockRetryInterval = 0
  60.    endwith
  61.  
  62.  
  63.    this.VDBSAMPLE1 = new DATABASE()
  64.    this.VDBSAMPLE1.parent = this
  65.    with (this.VDBSAMPLE1)
  66.       left = 4
  67.       top = 0
  68.       databaseName = "VDBSAMPLE"
  69.       session = form.SESSION1
  70.       active = true
  71.    endwith
  72.  
  73.  
  74.    this.SAMPLE1 = new QUERY()
  75.    this.SAMPLE1.parent = this
  76.    with (this.SAMPLE1)
  77.       left = 8
  78.       top = 0
  79.       database = form.vdbsample1
  80.       sql = 'SELECT * FROM "SAMPLE.DBF" ORDER BY Sample'
  81.       active = true
  82.    endwith
  83.  
  84.  
  85.  
  86.  
  87.    this.TITLE = new TEXT(this)
  88.    with (this.TITLE)
  89.       height = 2
  90.       left = 2
  91.       top = 0.5
  92.       width = 52
  93.       metric = 0
  94.       colorNormal = "black"
  95.       alignVertical = 1
  96.       alignHorizontal = 1
  97.       transparent = true
  98.       fontName = "MS Sans Serif"
  99.       fontSize = 8
  100.       fontItalic = true
  101.       text = "<h3>Visual dBASE Sample Guide</h3>"
  102.       borderStyle = 6
  103.       pageno = 0
  104.    endwith
  105.  
  106.  
  107.    this.LABELPROJ = new TEXT(this)
  108.    with (this.LABELPROJ)
  109.       height = 1
  110.       left = 3
  111.       top = 2.8
  112.       width = 17
  113.       metric = 0
  114.       colorNormal = "BtnText"
  115.       alignVertical = 1
  116.       transparent = true
  117.       fontName = "MS Sans Serif"
  118.       fontSize = 8
  119.       fontBold = true
  120.       text = "Sample Project:"
  121.    endwith
  122.  
  123.  
  124.    this.BUTTONOPEN = new PUSHBUTTON(this)
  125.    with (this.BUTTONOPEN)
  126.       onClick = class::BUTTONOPEN_ONCLICK
  127.       height = 1.7727
  128.       left = 3
  129.       top = 12
  130.       width = 22
  131.       text = "&Open Project"
  132.       metric = 0
  133.       upBitmap = "RESOURCE:2 PS_OPEN"
  134.       fontName = "MS Sans Serif"
  135.       fontSize = 8
  136.       group = true
  137.       colorNormal = "BtnText/BtnFace"
  138.       value = false
  139.    endwith
  140.  
  141.  
  142.    this.BUTTONRUN = new PUSHBUTTON(this)
  143.    with (this.BUTTONRUN)
  144.       onClick = class::BUTTONRUN_ONCLICK
  145.       height = 1.7727
  146.       left = 29
  147.       top = 12
  148.       width = 24
  149.       text = "&Run Application"
  150.       metric = 0
  151.       upBitmap = "RESOURCE:2 PS_RUN"
  152.       fontName = "MS Sans Serif"
  153.       fontSize = 8
  154.       group = true
  155.       colorNormal = "BtnText/BtnFace"
  156.       value = false
  157.    endwith
  158.  
  159.  
  160.    this.COMBOPROJ = new COMBOBOX(this)
  161.    with (this.COMBOPROJ)
  162.       onChange = class::COMBOPROJ_ONCHANGE
  163.       height = 1.2
  164.       left = 22
  165.       top = 2.8
  166.       width = 31
  167.       metric = 0
  168.       fontName = "MS Sans Serif"
  169.       fontSize = 8
  170.       sorted = true
  171.       style = 2
  172.    endwith
  173.  
  174.  
  175.    this.EDITORDESCRIPT = new EDITOR(this)
  176.    with (this.EDITORDESCRIPT)
  177.       height = 6
  178.       left = 3
  179.       top = 5.5
  180.       width = 50
  181.       metric = 0
  182.       value = ""
  183.       modify = false
  184.       fontName = "MS Sans Serif"
  185.       fontSize = 8
  186.       cuaTab = true
  187.    endwith
  188.  
  189.  
  190.    this.LABELMAIN = new TEXT(this)
  191.    with (this.LABELMAIN)
  192.       height = 1
  193.       left = 3
  194.       top = 4.1
  195.       width = 17
  196.       metric = 0
  197.       colorNormal = "BtnText"
  198.       alignVertical = 1
  199.       transparent = true
  200.       fontName = "MS Sans Serif"
  201.       fontSize = 8
  202.       fontBold = true
  203.       text = "Main Source:"
  204.    endwith
  205.  
  206.  
  207.    this.ENTRYMAIN = new ENTRYFIELD(this)
  208.    with (this.ENTRYMAIN)
  209.       enabled = false
  210.       height = 1.05
  211.       left = 22
  212.       top = 4.1
  213.       width = 31
  214.       metric = 0
  215.       colorHighLight = ""
  216.       fontName = "MS Sans Serif"
  217.       fontSize = 8
  218.       value = "Entryfield1"
  219.       borderStyle = 7
  220.    endwith
  221.  
  222.  
  223.    // {Linked Method} form.open
  224.    function FORM_open
  225.       local rSample
  226.       rSample = this.sample1.rowset
  227.       rSample.first()
  228.  
  229.       // add custom properties
  230.       this.sourceFolder = _dbwinhome + ALLTRIM(rSample.fields["Source Folder"].value) + "\" 
  231.       this.prjFolder = _dbwinhome + ALLTRIM(rSample.fields["Project Folder"].value) + "\" 
  232.     
  233.       this.sDatabase = ALLTRIM(rSample.fields["BDE Alias"].value)
  234.       this.sPjx      = this.prjFolder + rSample.fields["Project File"].value
  235.       this.sMain     = this.sourceFolder + rSample.fields["Main"].value 
  236.       with ( this )
  237.          buttonOpen.enabled := FILE( this.sPjx )
  238.          buttonRun.enabled  := FILE( this.sMain )
  239.          entryMain.value    := rSample.fields["Main"].value
  240.          editorDescript.value := rSample.fields["Description"].value
  241.       endwith
  242.       class::fillCombo()
  243.    return ( SAMPLEGUIDEFORM::open() )
  244.  
  245.    // {Linked Method} form.comboproj.onChange
  246.    function COMBOPROJ_onChange
  247.       local rSample, bFound
  248.       local rSample
  249.       rSample = this.form.sample1.rowset
  250.       bFound = rSample.applyLocate("Sample = '" + this.value + "'")
  251.       if ( bFound )
  252.          this.form.sourceFolder   := _dbwinhome + ALLTRIM(rSample.fields["Source Folder"].value) + "\" 
  253.          this.form.prjFolder      := _dbwinhome + ALLTRIM(rSample.fields["Project Folder"].value) + "\" 
  254.  
  255.          this.form.sDatabase := ALLTRIM(rSample.fields["BDE Alias"].value)
  256.          this.form.sPjx      := this.form.prjFolder + rSample.fields["Project File"].value
  257.          this.form.sMain     := this.form.sourceFolder + rSample.fields["Main"].value 
  258.          with ( this.form )
  259.              buttonOpen.enabled := FILE( this.form.sPjx )
  260.              buttonRun.enabled  := FILE( this.form.sMain )
  261.              entryMain.value    := rSample.fields["Main"].value
  262.              editorDescript.value := rSample.fields["Description"].value
  263.          endwith    
  264.       endif
  265.    return ( bFound )
  266.  
  267.    function fillCombo
  268.       local rSample, i
  269.       rSample = this.sample1.rowset
  270.       this.comboProj.options = new Array( rSample.count() )
  271.       rSample.first()
  272.       i = 1
  273.       do while ( not rSample.endOfSet )
  274.          this.comboProj.options[i] := rSample.fields["Sample"].value
  275.          rSample.next()
  276.          i++
  277.       enddo
  278.       with ( this.comboProj )
  279.          dataSource := "ARRAY form.comboProj.options"
  280.          value      := this.comboProj.options[1]
  281.       endwith
  282.    return (i)
  283.  
  284.    // {Linked Method} form.buttonopen.onClick
  285.    function buttonOpen_onClick
  286.       MODIFY PROJECT ( this.form.sPjx )
  287.       class::changeFolder( this.form.sourceFolder )
  288.    return ( this.form.sPjx )
  289.  
  290.    // {Linked Method} form.buttonrun.onClick
  291.    function buttonRun_onClick
  292.       local bCD, rSample, bOpen, bFound
  293.       rSample = this.form.sample1.rowset
  294.       bOpen  = false
  295.       bFound = rSample.applyLocate("Sample = '" + this.form.comboProj.value + "'")
  296.       if ( bFound )      
  297.          bCD = this.form.sample1.rowset.fields["Change Folder"].value
  298.          if ( ( not this.form.sDatabase == null ) and ;
  299.               ( not isblank( this.form.sDatabase ) ) )
  300.             for i = 1 to _app.databases.size 
  301.                 if ( _app.databases[i].databaseName == this.form.sDatabase )
  302.                    bOpen := true
  303.                 endif
  304.             next           
  305.             if ( not bOpen )
  306.                if ( not SET("DATABASE") == this.form.sDatabase )
  307.                   OPEN DATABASE ( this.form.sDatabase )
  308.                endif
  309.             endif
  310.          endif
  311.          SET DATABASE TO ( this.form.sDatabase )
  312.          if ( bCD )
  313.             class::changeFolder( this.form.sourceFolder )
  314.          else
  315.             class::changeFolder( _dbwinhome + "Samples" )
  316.          endif
  317.          DO ( this.form.sMain )
  318.          if ( bCD )
  319.             this.form.close()
  320.          endif
  321.       endif
  322.    return ( bCD )
  323.  
  324.    function changeFolder( sFolder )
  325.       PRIVATE macro
  326.       macro = '"' + sFolder + '"'
  327.       CD ¯o.
  328.    return (SET("DIRECTORY"))
  329. endclass
  330.